/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package org.pebom.empresa;

import GUI.VendasPanel;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import net.java.dev.genesis.annotation.Action;
import net.java.dev.genesis.annotation.DataProvider;
import net.java.dev.genesis.annotation.Form;
import org.pebom.util.Diversos;
import org.pebom.util.ProdutosDAO;

/**
 *
 * @author Drury
 */

@Form
public class BuscaProdutoForm {
    String textCodigo;
    String textNome;
    
    Produto produto;
    
    public static Produto p = new Produto();
    
    ArrayList<Produto> produtos;

    public Produto getProduto() {
        return produto;
    }

    public void setProduto(Produto produto) {
        this.produto = produto;
    }

    public ArrayList<Produto> getProdutos() {
        return produtos;
    }

    public void setProdutos(ArrayList<Produto> produtos) {
        this.produtos = produtos;
    }

    public String getTextCodigo() {
        return textCodigo;
    }

    public void setTextCodigo(String textCodigo) {
        this.textCodigo = textCodigo;
    }

    public String getTextNome() {
        return textNome;
    }

    public void setTextNome(String textNome) {
        this.textNome = textNome;
    }

    public static Produto getP() {
        return p;
    }

    public static void setP(Produto p) {
        BuscaProdutoForm.p = p;
    }
    
    
    //Inserir dados para teste
    public void insereDados() throws SQLException{
       
                    Produto P = new Produto();

                  

                    P.setCategoria("Chinelo");
                    P.setDescricao("Hawaianas");
                    // P.setId(1);
                    P.setNome("Hawaianas");
                    P.setPreco(200);
                    P.setQtdEstoque(10);

                   
                    ProdutosDAO.getInstance().insertProduto(P);
                   
                    
                  //  ResultSet result = BD.getInstance().getConn().createStatement().executeQuery("Select * from clientes");
                    
                    
                  //  System.out.print(result.getString(2));
                    
    }
    
    public void buscaBanco() throws SQLException {
        if (ProdutosDAO.getInstance().buscar().equals(null)){
            produtos = null;
        } else
            produtos = (ArrayList<Produto>) ProdutosDAO.getInstance().buscar();
    }
    
    @DataProvider(objectField = "produto", widgetName = "tabelaProdutos", callOnInit = true) //mudei para true
    public List populaTabela() throws SQLException {
        //insereDados();
        buscaBanco();
        if (produtos == null)
            return new ArrayList<Produto>(); 
        else
            return produtos;
    }
    
    @Action
    public void adicionar() {
        VendasForm.setTextCodProduto(Integer.toString(produto.getId()));
        VendasForm.setTextNomeProd(produto.getNome());
//        p.setId(produto.getId());
//        p.setNome(produto.getNome());
//        p.setCategoria(produto.getCategoria());
//        p.setDescricao(produto.getDescricao());
//        p.setPreco(produto.getPreco());
//        p.setQtdEstoque(produto.getQtdEstoque());
        p = produto.clone();
        Diversos.getInstance().getMain().showPanel(new VendasPanel());
    }
    
    @Action
    public void buscar() throws SQLException{
        p = produto.clone();
    }
}
